package com.alisls.demo.springcloud.oauth.server.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

/**
 * OAuth客户端实体
 *
 * @author Ke Wang
 * @date 2020/10/31
 */
@TableName(value = "oauth_client_details")
@NoArgsConstructor
@Getter
@Setter
@ToString
public class OAuthClientDetailDO {

    /**
     * 客户端ID
     */
    @TableId(type = IdType.NONE)
    private String clientId;

    /**
     * 客户密码
     */
    private String clientSecret;

    /**
     * 授权模式
     * 1）authorization_code 授权码模式
     * 2）password 密码模式
     * 3）implicit 简化模式
     * 4）client_credentials 客户端模式
     * 5）refresh_token  刷新Token
     */
    private String authorizedGrantTypes;

    /**
     * 客户端可以访问的资源ID
     * 资源ID用,连接，例如service-user,service-order
     */
    private String resourceIds;

    /**
     * 范围
     */
    private String scope;

    /**
     * 权限
     */
    private String authorities;

    /**
     * Access Token的有效期
     */
    private Integer accessTokenValidity;

    /**
     * RefreshToken的有效期
     */
    private Integer refreshTokenValidity;

    /**
     * 是否自动授权
     */
    private String autoapprove;

    /**
     * Web服务器重定向地址
     */
    private String webServerRedirectUri;

    /**
     * 额外信息
     */
    private String additionalInformation;

}
